package com.ec.cr.service;


import com.ec.api.domain.po.MedicineRecord;
import com.ec.cr.domain.vo.MedicineRecordVO;
import com.ec.cr.domain.vo.StatItemVO;

import java.util.List;
import java.util.Map;

public interface MedicineRecordService {
    List<MedicineRecordVO> findRecords(String elderlyName, String drugName);

    List<MedicineRecordVO> findPageRecords(String elderlyName, String drugName, int page, int pageSize);

    long countRecords(String elderlyName, String drugName);

    List<Map<String, Object>> getElderlySimpleList();

    void addRecord(MedicineRecord record);

    void updateRecord(MedicineRecord record);

    void deleteRecord(Integer id);

    // 新增：统计接口
    /**
     * 按月统计记录数
     */
    List<StatItemVO> countByMonth(Long elderlyUserId);

    /**
     * 按药品名称统计总剂量
     */
    List<StatItemVO> sumByDrug(Long elderlyUserId);

    /**
     * 按天统计总费用
     */
    List<StatItemVO> sumCostByDay(Long elderlyUserId);


    // 按老人 ID 和药名分页查
    List<MedicineRecordVO> findPageRecordsByUserId(Long elderlyUserId, String drugName, int page, int pageSize);
    // 按老人 ID 和药名统计总数
    long countRecordsByUserId(Long elderlyUserId, String drugName);
}

